package com.irdstudio.tdp.console.service.facade;

import java.util.List;
import java.util.Map;

import com.irdstudio.tdp.console.dao.domain.AppModelInfo;
import com.irdstudio.tdp.console.service.vo.AppModelInfoVO;
import com.irdstudio.sdk.beans.core.exception.BizException;
import com.irdstudio.tdp.console.service.vo.AppModelInfo2VO;

import javax.servlet.http.HttpServletResponse;

/**
 * <p>Description:应用模型信息				<p>
 * @author zjj
 * @date 2021-03-16
 */
public interface AppModelInfoService {
	
	public List<AppModelInfoVO> queryAllOwner(AppModelInfoVO appModelInfoVo);

	public List<AppModelInfo2VO> queryAllOwner2(AppModelInfoVO appModelInfoVo);

	public List<AppModelInfoVO> queryAllCurrOrg(AppModelInfoVO appModelInfoVo);
	
	public List<AppModelInfoVO> queryAllCurrDownOrg(AppModelInfoVO appModelInfoVo);
	
	public int insertAppModelInfo(AppModelInfoVO inAppModelInfoVo);

	public int insertAppModelInfos(List<AppModelInfo> appModelInfos);

	public int deleteByPk(AppModelInfoVO appModelInfoVo);
	
	public int updateByPk(AppModelInfoVO appModelInfoVo);
	
	public AppModelInfoVO queryByPk(AppModelInfoVO appModelInfoVo);


	/**
	 * 查询外部服务 流程相关数据集
	 * @param appId
	 * @param appModelId
	 * @return
	 */
	public Map<String, Object> queryExternalServiceFlowChart(String appId, String appModelId);

	/**
	 * 保存外部服务 流程相关数据集
	 * @param appId
	 * @param flowData
	 * @return
	 */
	public Boolean saveExternalServiceFlowChart(String appId, Map<String, Object> flowData);


	/**
	 * 生成Excel文档
	 */
	void generateExcelDocuments(String appId, HttpServletResponse response) throws BizException;

	/**
	 * 根据appModelInfo 初始化
	 * @param appId
	 * @param projectId
	 * @param appModelInfo
	 * @return
	 */
	public Boolean initDataServiceModel(String appId, String projectId, AppModelInfoVO appModelInfo);
}
